home *** CD-ROM | disk | FTP | other *** search
- ; Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
- ; and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
- ;
- ; All Rights Reserved
- ;
- ; Permission to use, copy, modify, and distribute this software and its
- ; documentation for any purpose and without fee is hereby granted,
- ; provided that the above copyright notice appear in all copies and that
- ; both that copyright notice and this permission notice appear in
- ; supporting documentation, and that the names of Digital or MIT not be
- ; used in advertising or publicity pertaining to distribution of the
- ; software without specific, written prior permission.
- ;
- ; DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ; ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- ; DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ; ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- ; WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ; ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- ; SOFTWARE.
-
- ;;***************************************************************
- ;****************************************************************
- ;*** ***
- ;*** ***
- ;*** X Resource Manager Intrinsics ***
- ;*** ***
- ;*** ***
- ;****************************************************************
- ;***************************************************************
-
-
-
- ;;***************************************************************
- ;*
- ;* Miscellaneous definitions
- ;*
- ;***************************************************************
-
- (typedef charAP caddr_t)
- (const NULL 0)
-
- ;;***************************************************************
- ;*
- ;* ||| Memory Management (move out of here!)
- ;*
- ;***************************************************************
-
- ;extern char *Xpermalloc();
- ;; unsigned int size;
-
- ;;***************************************************************
- ;*
- ;* Quark Management
- ;*
- ;***************************************************************
-
- (typedef int XrmQuark)
- (typedef intAP XrmQuarkList)
- (const NULLQUARK 0)
-
- (typedef charAP XrmString)
- (const NULLSTRING 0)
-
- ;; find quark for string, create new quark if none already exists
- ;extern XrmQuark XrmStringToQuark(); ;; name
- ;; XrmString name;
-
- ;; find string for quark
- ;extern XrmString XrmQuarkToString(); ;; quark
- ;; XrmQuark name;
-
- ;extern XrmQuark XrmUniqueQuark();
-
- ;define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
-
-
- ;;***************************************************************
- ;*
- ;* Conversion of Strings to Lists
- ;*
- ;***************************************************************
-
- ;extern void XrmStringToQuarkList();
- ;; char *name;
- ;; XrmQuarkList quarks; ;; RETURN
-
- ;extern void XrmStringToBindingQuarkList();
- ;; char *name;
- ;; XrmBindingList bindings; ;; RETURN
- ;; XrmQuarkList quarks; ;; RETURN
-
-
- ;;***************************************************************
- ;*
- ;* Name and Class lists.
- ;*
- ;***************************************************************
-
- (typedef XrmQuark XrmName)
- (typedef XrmQuarkList XrmNameList)
- ;#define XrmNameToString(name) XrmQuarkToString(name)
- ;#define XrmStringToName(string) XrmStringToQuark(string)
- ;#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
-
- (typedef XrmQuark XrmClass)
- (typedef XrmQuarkList XrmClassList)
- ;#define XrmClassToString(class) XrmQuarkToString(class)
- ;#define XrmStringToClass(class) XrmStringToQuark(class)
- ;#define XrmStringToClassList(str,class) XrmStringToQuarkList(str, class)
-
-
-
- ;;***************************************************************
- ;*
- ;* Resource Representation Types and Values
- ;*
- ;***************************************************************
-
- (typedef XrmQuark XrmRepresentation)
- ;#define XrmStringToRepresentation(string) XrmStringToQuark(string)
- ;#define XrmRepresentationToString(type) XrmQuarkToString(type)
-
- (typedef (struct
- (unsignedint size)
- (caddr_t addr)
- ) XrmValue)
- (typedef (XrmValue *) XrmValuePtr)
-
-
- ;;***************************************************************
- ;*
- ;* Resource Manager Functions
- ;*
- ;***************************************************************
-
- (const XrmBindTightly 0)
- (const XrmBindLoosely 1)
- (typedef int XrmBinding)
- (typedef intAP XrmBindingList)
- (typedef (struct) _XrmHashBucketRec)
- (typedef (_XrmHashBucketRec *) XrmHashBucket)
- (typedef (XrmHashBucket *) XrmHashTable)
- (typedef (XrmHashTable 1) XrmSearchList)
- (typedef (_XrmHashBucketRec *) XrmDatabase)
- (typedef (XrmDatabase *) XrmDatabaseP)
-
-
- ;extern void XrmInitialize();
-
- ;extern void XrmQPutResource();
- ;; XrmDatabase *pdb;
- ;; XrmBindingList bindings;
- ;; XrmQuarkList quarks;
- ;; XrmRepresentation type;
- ;; XrmValue *value;
-
- ;extern void XrmPutResource();
- ;; XrmDatabase *pdb;
- ;; char *specifier;
- ;; char *type;
- ;; XrmValue *value;
-
- ;extern void XrmQPutStringResource();
- ;; XrmDatabase *pdb;
- ;; XrmBindingList bindings;
- ;; XrmQuarkList quarks;
- ;; char *str;
-
- ;extern void XrmPutStringResource();
- ;; XrmDatabase *pdb;
- ;; char *specifier;
- ;; char *str;
-
- ;extern void XrmPutLineResource();
- ;; XrmDatabase *pdb;
- ;; char *line;
-
- ;extern XrmQGetResource();
- ;; XrmDatabase db;
- ;; XrmNameList names;
- ;; XrmClassList classes;
- ;; XrmRepresentation *type; ;; RETURN
- ;; XrmValue *value; ;; RETURN
-
- ;extern Bool XrmGetResource();
- ;; XrmDatabase db;
- ;; char *name_str;
- ;; char *class_str;
- ;; char *type; ;; RETURN
- ;; XrmValue *value; ;; RETURN
-
- ;extern Bool XrmQGetSearchList();
- ;; XrmDatabase db;
- ;; XrmNameList names;
- ;; XrmClassList classes;
- ;; XrmSearchList searchList; ;; RETURN
- ;; int listLength;
-
- ;extern Bool XrmQGetSearchResource();
- ;; SearchList searchList;
- ;; XrmName name;
- ;; XrmClass class;
- ;; XrmRepresentation *type; ;; RETURN
- ;; XrmValue *value; ;; RETURN
-
- ;;***************************************************************
- ;*
- ;* Resource Database Management
- ;*
- ;***************************************************************
-
- ;extern XrmDatabase XrmGetFileDatabase();
- ;; char *filename;
-
- ;extern XrmDatabase XrmGetStringDatabase();
- ;; char *data; ;; null terminated string
-
- ;extern void XrmPutFileDatabase();
- ;; XrmDatabase db;
- ;; char *filename
-
- ;extern void XrmMergeDatabases();
- ;; XrmDatabase new;
- ;; XrmDatabase *into; ;; RETURN
-
-
-
-
- ;;***************************************************************
- ;*
- ;* Command line option mapping to resource entries
- ;*
- ;***************************************************************
-
- (const XrmoptionNoArg 0) ;; Value is specified in OptionDescRec.value
- (const XrmoptionIsArg 1) ;; Value is the option string itself
- (const XrmoptionStickyArg 2);; Value is characters immediately following option
- (const XrmoptionSepArg 3) ;; Value is next argument in argv
- (const XrmoptionResArg 4) ;; Resource and value in next argument in argv
- (const XrmoptionSkipArg 5) ;; Ignore this option and the next argument in argv
- (const XrmoptionSkipLine 6) ;; Ignore this option and the rest of argv
-
- (typedef int XrmOptionKind)
-
- (typedef (struct
- (charP option) ;; Option abbreviation in argv
- (charP specifier) ;; Resource specifier
- (XrmOptionKind argKind) ;; Which style of option it is
- (caddr_t value) ;; Value to provide if XrmoptionNoArg
- ) XrmOptionDescRec)
-
- (typedef (XrmOptionDescRec *) XrmOptionDescList)
-
- ;extern void XrmParseCommand();
- ;; XrmDatabase *pdb;
- ;; XrmOptionDescList options;
- ;; int num_options;
- ;; char *prefix;
- ;; int *argc;
- ;; char **argv;
-